<!DOCTYPE html>
<html lang="zh">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Document</title>
        <script>
            const arr = [1, 2, 1, 3, 2, 2, 4, 5, 5, 6, 7]

            // 编写代码去除数组中重复的元素

            // 分别获取数组中的元素
            for (let i = 0; i < arr.length; i++) {
                // 获取当前值后边的所有值
                for (let j = i + 1; j < arr.length; j++) {
                    // 判断两个数是否相等
                    if (arr[i] === arr[j]) {
                        // 出现了重复元素，删除后边的元素
                        arr.splice(j, 1)

                        /* 
                            当arr[i] 和 arr[j]相同时，它会自动的删除j位置的元素，然后j+1位置的元素，会变成j位置的元素
                            而j位置已经比较过了，不会重复比较，所以会出现漏比较的情况

                            解决办法，当删除一个元素后，需要将该位置的元素在比较一遍
                        */
                        j--
                    }
                }
            }

            console.log(arr)
        </script>
    </head>
    <body></body>
</html>
